I. Field of the Disclosure
The technology of the disclosure relates generally to universal flash storage (UFS) and embedded multimedia card (eMMC) storage devices.
II. Background
Universal flash storage (UFS) and embedded multimedia card (eMMC) are non-volatile storage devices commonly used in mobile computing devices, such as smart phones and tablet computers. UFS/eMMC storage devices are standardized by the Joint Electron Device Engineering Council (JEDEC), and support multiple commands with command queuing features to enable multi-thread programming paradigms. In this manner, the UFS/eMMC storage devices may provide improved random read/write access performance compared to conventional flash-based memory cards and embedded flash solutions, which process one command at a time.
UFS/eMMC storage devices are currently designed for management and usage by a single host software entity. However, many modem computing devices are capable of supporting multiple virtual clients (e.g., hosts or other processor subsystems) operating simultaneously using virtualized environments. In such virtualized environments, the multiple virtual clients may each interact with a virtual UFS/eMMC storage device as if it were the only client communicating with the UFS/eMMC storage device. Similarly, the UFS/eMMC storage device may operate as if it were communicating with only a single client, when, in fact, it is communicating with multiple virtual clients.
When the UFS/eMMC storage device is provided in a multi-client virtualized environment, communications among the multiple virtual clients and the UFS/eMMC storage device may require additional processing.